Roles এবং Permissions ম্যানেজমেন্ট

Database Security এবং User Management - এমএস এসকিউএল সার্ভার (MS SQl Server) - Microsoft Technologies

318

Roles এবং Permissions হল SQL Server-এ ডেটাবেস নিরাপত্তা ব্যবস্থার গুরুত্বপূর্ণ অংশ। এগুলি ডেটাবেস অ্যাক্সেস কন্ট্রোল এবং ব্যবহারকারীদের বিভিন্ন ডেটাবেস অপারেশনের উপর নিয়ন্ত্রণ নিশ্চিত করতে ব্যবহৃত হয়। SQL Server-এ Roles ব্যবহারকারীদের জন্য বিভিন্ন ধরনের ভূমিকা (role) নির্ধারণ করতে সাহায্য করে এবং Permissions নির্ধারণ করে যে, কোন ব্যবহারকারী কোন ডেটাবেস অবজেক্টে (যেমন টেবিল, ভিউ, বা স্টোরড প্রসিডিউর) কি ধরনের অ্যাক্সেস পাবে।


1. Roles (ভূমিকা)

Role হল একটি গ্রুপ বা সেট যা এক বা একাধিক Permissions ধারণ করে। SQL Server-এ দুটি ধরনের Roles রয়েছে: Server Roles এবং Database Roles

1.1. Server Roles

Server Roles হল সার্ভার লেভেল ভূমিকা, যা সার্ভারের মধ্যে একাধিক ডেটাবেসের ওপর অ্যাক্সেস এবং নিয়ন্ত্রণ পরিচালনা করে। কিছু সাধারণ Server Roles হল:

  • sysadmin: এই রোলটি সর্বোচ্চ অধিকার প্রদান করে এবং সমস্ত সার্ভার এবং ডেটাবেস অপারেশন সম্পাদন করতে সক্ষম।
  • serveradmin: সার্ভারের কনফিগারেশন এবং চালনা সম্পর্কিত কাজ পরিচালনা করে।
  • securityadmin: সার্ভার এবং ডেটাবেসে নিরাপত্তা কনফিগারেশন এবং নিরাপত্তা সম্পর্কিত কাজগুলো পরিচালনা করে।
  • dbcreator: নতুন ডেটাবেস তৈরি এবং ডেটাবেস মুছে ফেলার ক্ষমতা প্রদান করে।

1.2. Database Roles

Database Roles ডেটাবেস স্তরের ভূমিকা, যা ব্যবহারকারীকে ডেটাবেসের ভিতরে নির্দিষ্ট কাজ সম্পাদন করতে অনুমতি দেয়। কিছু সাধারণ Database Roles হল:

  • db_owner: এই রোলটি সমস্ত ডেটাবেস কার্যক্রম সম্পাদন করার অধিকার দেয়, যেমন টেবিল তৈরি, ডেটা আপডেট করা, ডেটাবেস কনফিগারেশন পরিবর্তন করা ইত্যাদি।
  • db_datareader: এই রোলটি ব্যবহারকারীকে ডেটাবেসের সমস্ত টেবিল এবং ভিউ থেকে ডেটা পড়ার অনুমতি দেয়।
  • db_datawriter: এই রোলটি ব্যবহারকারীকে ডেটাবেসের টেবিল এবং ভিউতে ডেটা সন্নিবেশ, আপডেট এবং মুছে ফেলার অনুমতি দেয়।
  • db_ddladmin: এই রোলটি ব্যবহারকারীকে ডেটাবেসের অবজেক্ট (যেমন টেবিল, ভিউ, ইনডেক্স) তৈরি এবং মুছে ফেলতে অনুমতি দেয়।

1.3. Role তৈরি করা

নিজস্ব Role তৈরি করতে পারেন, যা নির্দিষ্ট কাজ বা অ্যাক্সেস কন্ট্রোলের জন্য নির্ধারণ করা হয়:

CREATE ROLE SalesRole;

এটি একটি SalesRole নামক নতুন রোল তৈরি করবে। এরপর, আপনি এটি ব্যবহারকারীকে অ্যাসাইন করতে পারেন:

EXEC sp_addrolemember 'SalesRole', 'JohnDoe';

এখানে, JohnDoe ব্যবহারকারীকে SalesRole রোলে অ্যাসাইন করা হয়েছে।


2. Permissions (অনুমতি)

Permissions হল সেই অধিকার যা ডেটাবেস অবজেক্টের ওপর নির্দিষ্ট অপারেশন চালানোর অনুমতি দেয়। SQL Server-এ আপনি বিভিন্ন ধরনের Permissions নির্ধারণ করতে পারেন, যেমন:

  • SELECT: টেবিল বা ভিউ থেকে ডেটা পড়ার অনুমতি।
  • INSERT: টেবিল বা ভিউতে নতুন ডেটা সন্নিবেশ করার অনুমতি।
  • UPDATE: টেবিল বা ভিউতে বিদ্যমান ডেটা আপডেট করার অনুমতি।
  • DELETE: টেবিল বা ভিউ থেকে ডেটা মুছে ফেলার অনুমতি।
  • EXECUTE: স্টোরড প্রসিডিউর বা ফাংশন চালানোর অনুমতি।

2.1. Permissions অ্যাসাইন করা

GRANT স্টেটমেন্ট ব্যবহার করে ব্যবহারকারীদের নির্দিষ্ট Permissions প্রদান করা হয়:

GRANT SELECT, INSERT ON Employees TO JohnDoe;

এখানে, JohnDoe ব্যবহারকারীকে Employees টেবিলের SELECT এবং INSERT অপারেশনের অনুমতি দেয়া হয়েছে।

2.2. Permissions প্রত্যাহার করা

যদি কোনো ব্যবহারকারীকে নির্দিষ্ট Permissions প্রত্যাহার করতে চান, তবে REVOKE স্টেটমেন্ট ব্যবহার করতে পারেন:

REVOKE INSERT ON Employees FROM JohnDoe;

এটি JohnDoe ব্যবহারকারীর Employees টেবিলের INSERT অনুমতি প্রত্যাহার করবে।

2.3. Permissions বাতিল করা

DENY স্টেটমেন্ট ব্যবহার করে নির্দিষ্ট Permissions পুরোপুরি বাতিল করা যেতে পারে, যার ফলে ব্যবহারকারী সেই অনুমতি পাবেন না, এমনকি অন্য রোলের মাধ্যমে যদি অনুমতি দেওয়া হয় তাও কার্যকর হবে না।

DENY DELETE ON Employees TO JohnDoe;

এটি JohnDoe ব্যবহারকারীকে Employees টেবিলের DELETE অনুমতি বাতিল করবে।


3. Roles এবং Permissions এর ব্যবস্থাপনা

SQL Server-এ Roles এবং Permissions ব্যবস্থাপনার কিছু গুরুত্বপূর্ণ বিষয়:

  • Roles ব্যবহারকারীকে নির্দিষ্ট কাজের জন্য অনুমতি প্রদান করে এবং Permissions নির্দিষ্ট ডেটাবেস অবজেক্টের উপর কাজ করার অনুমতি দেয়।
  • ব্যবহারকারীকে একাধিক Roles অ্যাসাইন করা যেতে পারে, এবং একটি রোলের মধ্যে একাধিক Permissions থাকতে পারে।
  • Permissions শুধু নির্দিষ্ট ডেটাবেস অবজেক্টের জন্যই নয়, বরং সার্ভার লেভেলেও নির্ধারণ করা যেতে পারে (যেমন, সার্ভার রোল বা ডেটাবেস রোলের মাধ্যমে)।

3.1. Roles এবং Permissions এর মধ্যকার সম্পর্ক

  • Roles ব্যবহৃত হয় Permissions গ্রুপ করতে এবং ব্যবহারকারীদের সহজে অ্যাক্সেস প্রদান করতে।
  • একাধিক ব্যবহারকারীকে একই Permissions দেওয়া হলে, রোল ব্যবহারের মাধ্যমে তা আরও কার্যকরী ও সহজ হয়ে ওঠে।

4. Security Model

SQL Server-এ রোল এবং পারমিশন ব্যবস্থাপনা Security Model এর অংশ। এই মডেলটি ব্যবহারকারীদের বিভিন্ন ধরনের অ্যাক্সেস কন্ট্রোল করে, যাতে ডেটাবেসের নিরাপত্তা নিশ্চিত হয়। এটি আপনাকে বিভিন্ন স্তরের নিরাপত্তা প্রদান করে, যেমন:

  • Server-level security: সার্ভার পরিচালনাকারী ব্যবহারকারীরা সার্ভার এবং ডেটাবেসের সব অ্যাক্সেস পরিচালনা করতে পারে।
  • Database-level security: ডেটাবেসের ব্যবহারকারীরা ডেটাবেসের নির্দিষ্ট ডেটা অবজেক্টের অ্যাক্সেস নিয়ন্ত্রণ করতে পারে।
  • Object-level security: নির্দিষ্ট ডেটাবেস অবজেক্ট (যেমন টেবিল, ভিউ, স্টোরড প্রসিডিউর) এর উপর অ্যাক্সেস কন্ট্রোল করা যায়।

Roles এবং Permissions ব্যবস্থাপনা SQL Server-এর শক্তিশালী নিরাপত্তা ফিচার, যা ডেটাবেসের তথ্য এবং অ্যাক্সেস নিয়ন্ত্রণকে অত্যন্ত সুসংহত এবং কার্যকর করে।

Content added By
Promotion

Are you sure to start over?

Loading...